Skip to content

Use umbrella instead of a direct include in react/renderer/telemetry module (#58553) - #58553

Open
j-piasecki wants to merge 3 commits into
react:mainfrom
j-piasecki:export-D120316919
Open

j-piasecki wants to merge 3 commits into
react:mainfrom
j-piasecki:export-D120316919

Conversation

@j-piasecki

@j-piasecki j-piasecki commented Sep 16, 2026 •

Copy link
Copy Markdown
Contributor

Summary:

Changelog: [Internal]

Update the react/renderer/telemetry module to use the React/Utils.h umbrella include instead of a direct one.

Reviewed By: cortinico

Differential Revision: D120316919

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Sep 16, 2026
@facebook-github-tools facebook-github-tools Bot added p: Software Mansion Partner: Software Mansion Partner p: Facebook Partner: Facebook labels Sep 16, 2026
@j-piasecki
j-piasecki force-pushed the export-D120316919 branch 3 times, most recently from 2f3ef68 to 58265dc Compare September 21, 2026 06:43
@meta-codesync

meta-codesync Bot commented Sep 22, 2026

Copy link
Copy Markdown

@j-piasecki has exported this pull request. If you are a Meta employee, you can view the originating Diff in D120316919.

j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Sep 22, 2026
…module (react#58553)

Summary:
Pull Request resolved: react#58553

Changelog: [Internal]

Update the react/renderer/telemetry module to use the `React/Utils.h` umbrella include instead of a direct one.

Differential Revision: D120316919
@meta-codesync meta-codesync Bot changed the title Use umbrella instead of a direct include in react/renderer/telemetry module Use umbrella instead of a direct include in react/renderer/telemetry module (#58553) Sep 22, 2026
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Sep 29, 2026
…module (react#58553)

Summary:

Changelog: [Internal]

Update the react/renderer/telemetry module to use the `React/Utils.h` umbrella include instead of a direct one.

Differential Revision: D120316919
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Sep 29, 2026
…module (react#58553)

Summary:
Pull Request resolved: react#58553

Changelog: [Internal]

Update the react/renderer/telemetry module to use the `React/Utils.h` umbrella include instead of a direct one.

Differential Revision: D120316919
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Sep 29, 2026
…module (react#58553)

Summary:

Changelog: [Internal]

Update the react/renderer/telemetry module to use the `React/Utils.h` umbrella include instead of a direct one.

Differential Revision: D120316919

@cortinico cortinico left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review automatically exported from Phabricator review in Meta.

…module (react#58551)

Summary:

Changelog: [Internal]

Update the react/renderer/scheduler module to use the `React/RendererCore.h`, `React/Utils.h`, and `React/ComponentRegistry.h` umbrella includes instead of direct ones.

Differential Revision: D120315036
…ct#58550)

Summary:

Changelog: [Internal]

Part of the C++ stable API migration to umbrella includes. Fixes tier reachability violations in the `react/runtime` module.

The headers in this module are "for frameworks" tier (they include `<react/cxxstableapi/FrameworksGuard.h>`), but they reached public-tier modules through fine-grained includes: `<ReactCommon/CallInvoker.h>`, `<ReactCommon/SchedulerPriority.h>`, `<ReactCommon/RuntimeExecutor.h>` and `<cxxreact/JSBigString.h>`. Each of these is protected by `<react/cxxstableapi/UmbrellaGuard.h>`. Exported headers are preprocessed in the consumer's translation unit, so a consumer building with `RN_STRICT_API` would hit the guard through these transitive includes. `RN_ALLOW_FRAMEWORKS` does not suppress the guard.

This change switches the five affected headers (`BridgelessNativeMethodCallInvoker.h`, `BufferedRuntimeExecutor.h`, `CallInvokerImpl.h`, `ReactInstance.h`, `TimerManager.h`) to the `<React/CallInvoker.h>`, `<React/RuntimeExecutor.h>` and `<React/JSBigString.h>` umbrellas. Each umbrella scopes `RN_UMBRELLA_CONTEXT` around its includes, so the guard accepts them. `<ReactCommon/SchedulerPriority.h>` has no include of its own anymore because `<React/CallInvoker.h>` re-exports it. The umbrellas are supersets of the headers they replace, so every previously visible declaration stays available and there is no functional change.

Out of scope: `ReactInstance.cpp` and the module's C++ tests keep the fine-grained includes. They are compiled only within React Native's own build and are never preprocessed by consumers, which matches the umbrellas' documented guidance. Other modules are migrated in separate changes.

Reviewed By: cortinico

Differential Revision: D120316197
…module (react#58553)

Summary:

Changelog: [Internal]

Update the react/renderer/telemetry module to use the `React/Utils.h` umbrella include instead of a direct one.

Reviewed By: cortinico

Differential Revision: D120316919

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. meta-exported p: Facebook Partner: Facebook p: Software Mansion Partner: Software Mansion Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants